// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package cn.com.smartdevices.bracelet.chart.util; import android.animation.Animator; import android.animation.AnimatorSet; import android.animation.Keyframe; import android.animation.LayoutTransition; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.animation.ValueAnimator; import android.graphics.Color; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.style.ForegroundColorSpan; import android.view.View; import android.view.ViewGroup; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.AccelerateInterpolator; import android.widget.TextView; import cn.com.smartdevices.bracelet.Debug; import java.util.ArrayList; import java.util.Iterator; // Referenced classes of package cn.com.smartdevices.bracelet.chart.util: // d, e, l, a, // f, m, b, c, // g, h, i, j, // k public class AnimUtil { public static final int DURATION_CHART_SLEEP_SWITCH = 650; public static final int DURATION_CHART_STEP_SLEEP_SWITCH = 500; public static final int DURATION_CHART_STEP_SWITCH = 550; public static final int DURATION_DATE_SWITCH = 600; public static final int DURATION_FLOW_IN = 600; public static final int DURATION_LOADING = 3500; public static final int DURATION_NUM_SWITCH = 20; public static final int DURATION_PIE_CHART = 800; private static final String a = "Chart.AnimUtil"; private static LayoutTransition b; private static LayoutTransition c; public AnimUtil() { } private static LayoutTransition a() { LayoutTransition layouttransition = new LayoutTransition(); layouttransition.setDuration(90L); layouttransition.setInterpolator(2, new AccelerateDecelerateInterpolator()); layouttransition.setInterpolator(3, new AccelerateDecelerateInterpolator()); ObjectAnimator objectanimator = ObjectAnimator.ofFloat(null, "rotationX", new float[] { 90F, 0.0F }).setDuration(layouttransition.getDuration(2)); layouttransition.setAnimator(2, objectanimator); objectanimator.addListener(new d()); ObjectAnimator objectanimator1 = ObjectAnimator.ofFloat(null, "rotationX", new float[] { 0.0F, -90F }).setDuration(layouttransition.getDuration(3)); layouttransition.setAnimator(3, objectanimator1); objectanimator1.addListener(new e()); return layouttransition; } private static String a(String s, String s1, int i1, int j1) { Debug.i("Chart.AnimUtil", (new StringBuilder()).append("Change Digital Index : ").append(i1).append(" , ").append(j1).toString()); if (s.length() < s1.length()) { int i2 = s1.length() - s.length(); for (int j2 = 0; j2 < i2; j2++) { s = (new StringBuilder()).append('0').append(s).toString(); } } else if (s1.length() < s.length()) { int k1 = s.length() - s1.length(); for (int l1 = 0; l1 < k1; l1++) { s1 = (new StringBuilder()).append('0').append(s1).toString(); } } String s2; String s3; String s4; if (i1 == 0) { s2 = ""; } else { s2 = s.substring(s1.length() - i1, s1.length()); } if (i1 == -1 + s.length()) { s3 = ""; } else { s3 = s1.substring(0, -1 + (s.length() - i1)); } s4 = Integer.valueOf((new StringBuilder()).append(s3).append(j1).append(s2).toString()).toString(); Debug.i("Chart.AnimUtil", (new StringBuilder()).append("Show Num : ").append(s4).toString()); return s4; } public static transient Animator animColorTrans(int i1, int j1, AnimColorListener animcolorlistener, View aview[]) { ValueAnimator valueanimator = ValueAnimator.ofFloat(new float[] { 0.0F, 1.0F }); int k1 = Color.red(j1); int l1 = Color.green(j1); int i2 = Color.blue(j1); valueanimator.addUpdateListener(new l(k1, Color.red(i1), l1, Color.green(i1), i2, Color.blue(i1), aview, animcolorlistener)); valueanimator.setInterpolator(new AccelerateInterpolator()); valueanimator.setDuration(500L); return valueanimator; } public static transient Animator animColorTrans(int i1, int j1, View aview[]) { return animColorTrans(i1, j1, null, aview); } public static Animator animDateSwitch(String s, String s1, TextView textview, TextView textview1) { ValueAnimator valueanimator = ValueAnimator.ofFloat(new float[] { 0.0F, 1.0F }); valueanimator.addListener(new a(textview, s, textview1, s1)); valueanimator.addUpdateListener(new f(textview, textview1)); valueanimator.setDuration(600L); return valueanimator; } public static Animator animFade(View view, float f1, float f2) { return ObjectAnimator.ofFloat(view, "alpha", new float[] { f1, f2 }); } public static Animator animFadeIn(View view) { ObjectAnimator objectanimator = ObjectAnimator.ofFloat(view, "alpha", new float[] { 0.3F, 1.0F }); objectanimator.setInterpolator(new AccelerateInterpolator()); return objectanimator; } public static Animator animFlow(android.animation.ValueAnimator.AnimatorUpdateListener animatorupdatelistener) { ValueAnimator valueanimator = ValueAnimator.ofFloat(new float[] { 0.0F, 1.0F }); valueanimator.setInterpolator(new AccelerateInterpolator()); valueanimator.addUpdateListener(animatorupdatelistener); return valueanimator; } public static void animInfoSwitch(ViewGroup viewgroup, ViewGroup viewgroup1) { int i1 = 0; if (b == null) { b = a(); } if (c == null) { c = a(); } viewgroup.setLayoutTransition(b); viewgroup1.setLayoutTransition(c); viewgroup1.setVisibility(0); int j1 = viewgroup.getChildCount(); int k1 = 0; int l1 = 0; for (; k1 < j1; k1++) { View view1 = viewgroup.getChildAt(k1); if (k1 * (100 - k1 * 10) > l1) { l1 = k1 * (100 - k1 * 10); } viewgroup.postDelayed(new m(view1), l1); if (k1 == j1 - 1) { viewgroup.postDelayed(new b(viewgroup), l1 + 90); } } int i2 = viewgroup1.getChildCount(); int j2 = 0; for (; i1 < i2; i1++) { View view = viewgroup1.getChildAt(i1); if (i1 * (100 - i1 * 10) > j2) { j2 = i1 * (100 - i1 * 10); } viewgroup1.postDelayed(new c(view), j2); } } public static Animator animNumSwitch(int i1, int j1, TextView textview) { int k1 = j1 - i1; String s = String.valueOf(Math.abs(k1)); int ai[] = new int[s.length()]; for (int l1 = 0; l1 < s.length(); l1++) { ai[l1] = -48 + s.charAt(-1 + (s.length() - l1)); } ArrayList arraylist = new ArrayList(); arraylist.add(formatNumStyle(i1)); int i2 = 0; int j2 = 1; do { if (i2 >= ai.length) { break; } int i3 = Integer.valueOf(ai[i2]).intValue(); int j3 = 0; while (j3 < i3) { if (k1 > 0) { i1 += j2; } else if (k1 < 0) { i1 -= j2; } arraylist.add(formatNumStyle(i1)); j3++; } j2 *= 10; i2++; } while (true); arraylist.add(formatNumStyle(j1)); Keyframe akeyframe[] = new Keyframe[1 + arraylist.size()]; int k2 = 0; while (k2 <= arraylist.size()) { float f1 = (1.0F / (float)arraylist.size()) * (float)k2; int l2; if (k2 == 0) { l2 = 0; } else { l2 = k2 - 1; } akeyframe[k2] = Keyframe.ofObject(f1, arraylist.get(l2)); k2++; } ValueAnimator valueanimator = ValueAnimator.ofPropertyValuesHolder(new PropertyValuesHolder[] { PropertyValuesHolder.ofKeyframe("Text", akeyframe) }); valueanimator.setEvaluator(new g()); valueanimator.addUpdateListener(new h(textview)); valueanimator.setDuration(20 * akeyframe.length); return valueanimator; } public static Animator animNumSwitch1(int i1, int j1, TextView textview) { String s = String.valueOf(i1); int ai[] = new int[s.length()]; for (int k1 = 0; k1 < s.length(); k1++) { ai[-1 + (s.length() - k1)] = -48 + s.charAt(k1); Debug.i("Chart.AnimUtil", (new StringBuilder()).append("Num : ").append(ai[-1 + (s.length() - k1)]).toString()); } String s1 = String.valueOf(j1); int ai1[] = new int[s1.length()]; for (int l1 = 0; l1 < s1.length(); l1++) { ai1[-1 + (s1.length() - l1)] = -48 + s1.charAt(l1); Debug.i("Chart.AnimUtil", (new StringBuilder()).append("Num : ").append(ai1[-1 + (s1.length() - l1)]).toString()); } ArrayList arraylist = new ArrayList(); for (int i2 = -1 + ai1.length; i2 >= 0; i2--) { int k2 = ai1[i2]; int l2; if (ai.length > i2) { l2 = ai[i2]; } else { l2 = 0; } if (k2 > l2) { for (int j3 = 0; j3 < 1 + (k2 - l2); j3++) { arraylist.add(a(s, s1, i2, l2 + j3)); } continue; } if (k2 < l2) { for (int i3 = 0; i3 < 1 + (l2 - k2); i3++) { arraylist.add(a(s, s1, i2, l2 - i3)); } } else { arraylist.add(a(s, s1, i2, l2)); } } Keyframe akeyframe[] = new Keyframe[1 + arraylist.size()]; Iterator iterator = arraylist.iterator(); int j2 = 0; while (iterator.hasNext()) { String s2 = (String)iterator.next(); j2++; akeyframe[j2] = Keyframe.ofObject((1.0F / (float)arraylist.size()) * (float)j2, s2); } akeyframe[0] = akeyframe[1]; ValueAnimator valueanimator = ValueAnimator.ofPropertyValuesHolder(new PropertyValuesHolder[] { PropertyValuesHolder.ofKeyframe("Text", akeyframe) }); valueanimator.setEvaluator(new i()); valueanimator.addUpdateListener(new j(textview)); valueanimator.setDuration(20L); return valueanimator; } public static Animator animNumSwitch2(int i1, int j1, TextView textview) { ValueAnimator valueanimator = ValueAnimator.ofInt(new int[] { i1, j1 }); valueanimator.addUpdateListener(new k(textview)); valueanimator.setDuration(500L); return valueanimator; } public static Animator animScaleX(View view, float f1, float f2) { return ObjectAnimator.ofFloat(view, "scaleX", new float[] { f1, f2 }); } public static Animator animSlideIn(int i1, View view) { float af[] = new float[2]; af[0] = i1; af[1] = 0.0F; return ObjectAnimator.ofPropertyValuesHolder(view, new PropertyValuesHolder[] { PropertyValuesHolder.ofFloat("translationY", af), PropertyValuesHolder.ofFloat("alpha", new float[] { 0.3F, 1.0F }) }); } public static Animator animSlideOut(int i1, View view) { float af[] = new float[2]; af[0] = 0.0F; af[1] = -i1; return ObjectAnimator.ofPropertyValuesHolder(view, new PropertyValuesHolder[] { PropertyValuesHolder.ofFloat("translationY", af), PropertyValuesHolder.ofFloat("alpha", new float[] { 0.7F, 0.0F }) }); } public static void dismissChildren(ViewGroup viewgroup) { int i1 = viewgroup.getChildCount(); for (int j1 = 0; j1 < i1; j1++) { viewgroup.getChildAt(j1).setVisibility(4); } viewgroup.setVisibility(8); } public static String formatNum(int i1) { String s = String.valueOf(i1); if (i1 == 0) { s = "0000"; } else if (s.length() < 4) { switch (s.length()) { default: return s; case 1: // '\001' return (new StringBuilder()).append("000").append(s).toString(); case 2: // '\002' return (new StringBuilder()).append("00").append(s).toString(); case 3: // '\003' return (new StringBuilder()).append("0").append(s).toString(); } } return s; } public static CharSequence formatNumStyle(int i1) { SpannableStringBuilder spannablestringbuilder; ForegroundColorSpan foregroundcolorspan; String s; String s1; spannablestringbuilder = new SpannableStringBuilder(); foregroundcolorspan = new ForegroundColorSpan(0x99ffffff); s = String.valueOf(i1); s1 = ""; if (i1 != 0) goto _L2; else goto _L1 _L1: s1 = "0000"; _L4: SpannableString spannablestring = new SpannableString(s1); spannablestring.setSpan(foregroundcolorspan, 0, s1.length(), 33); SpannableString spannablestring1 = new SpannableString(s); if (i1 == 0) { spannablestringbuilder.append(spannablestring); return spannablestringbuilder; } else { spannablestringbuilder.append(spannablestring).append(spannablestring1); return spannablestringbuilder; } _L2: if (s.length() >= 4) goto _L4; else goto _L3 _L3: switch (s.length()) { case 1: // '\001' s1 = "000"; break; case 2: // '\002' s1 = "00"; break; case 3: // '\003' s1 = "0"; break; } if (true) goto _L4; else goto _L5 _L5: } public static long getAnimDuration(AnimatorSet animatorset) { Iterator iterator = animatorset.getChildAnimations().iterator(); long l1 = 0L; while (iterator.hasNext()) { Animator animator = (Animator)iterator.next(); long l2 = animator.getStartDelay() + animator.getDuration(); long l3; if (l2 > l1) { l3 = l2; } else { l3 = l1; } l1 = l3; } return l1; } public static void infoSwitch(ViewGroup viewgroup, ViewGroup viewgroup1) { viewgroup.setLayoutTransition(null); viewgroup1.setLayoutTransition(null); dismissChildren(viewgroup); showChildren(viewgroup1); } public static void seekAnim(AnimatorSet animatorset, long l1) { if (animatorset != null) { if (animatorset.isStarted()) { animatorset.end(); } Iterator iterator = animatorset.getChildAnimations().iterator(); do { if (!iterator.hasNext()) { break; } Animator animator = (Animator)iterator.next(); long l2 = l1 - animator.getStartDelay(); if (l2 < 0L) { l2 = 0L; } if (animator instanceof ValueAnimator) { ((ValueAnimator)animator).setCurrentPlayTime(l2); } } while (true); } } public static void seekAnim(View view, AnimatorSet animatorset, long l1) { seekAnim(animatorset, l1); view.postInvalidateOnAnimation(); } public static void showChildren(ViewGroup viewgroup) { int i1 = viewgroup.getChildCount(); for (int j1 = 0; j1 < i1; j1++) { viewgroup.getChildAt(j1).setVisibility(0); } viewgroup.setVisibility(0); } }